home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 4 / MacMania 4.toast / / Art&Graphics / ascii-art-maker / Documentation / What's New! < prev   
Text File  |  1995-06-29  |  6KB  |  145 lines

  1. What's new
  2.  
  3. • HexDoubler
  4.  
  5. HexDoubler is an extension to the p2a core. It increases the size of the output image by a large amount. (You of course have a choice about whether to use it on or not) When you have a small 16x16 image it can really help, for instance. Heres an example of a standard 16x16 with and without HexD, respectively. (The image is of the standard QuickTime File.)
  6. [Note: This image was rendered without smooth edges.]
  7.  
  8. ASCII Image:
  9.  
  10.  |MWMW^~^~^~^~~||_              
  11.  ||~~|         ||~,             
  12.  ||__|         ||_|_,           
  13.  ||~~|         '~|~||           
  14.  ||__|___________|_||           
  15.  ||~~|^~^~^~^~^~~|~||           
  16.  ||__|           |_||           
  17.  ||~~|           |~||           
  18.  ||__|           |_||           
  19.  ||~~|           |~||           
  20.  ||__|___________|_||           
  21.  ||~~|^~^~^~^~^~~|~||           
  22.  ||__|           |_||           
  23.  ||~~|           |~||           
  24.  ||__|___________|_||           
  25.  
  26.  
  27. ASCII Image:
  28.  
  29.  |MW^~^~^~|_    
  30.  |_|      |_|_  
  31.  |_|_______|_|  
  32.  |_|       |_|  
  33.  |_|       |_|  
  34.  |_|_______|_|  
  35.  |_|       |_|  
  36.  |_|_______|_| 
  37.  
  38.  
  39. I don't feel it's perfect, but it's a nice feature. Of course, any time you can, use a bigger image at a higher resolution. They just turn out better. There are a few bugs:
  40. READ THIS BOLD STUFF!!! REALLY!
  41. It was not apparent in this picture, but HexD takes the last couple ASCII characters and smears them for 1/3 of the total image size. It doesn't do any damage, but you'll have to go in and trim off the extra stuff. Note slight distortion around the edges of some parts of the doubled image. However, HexD is a much better solution than actually going into a paint program and making the image twice as big (and not touching it up.) To demonstrate this, I blew up the above image (the small one) to 32x32, so that every pixel was twice as big. heres what I got, and what you'd get if you did this with *any* image in p2a.
  42.  
  43.  ASCII Image:
  44.  
  45.   MWMWMWMWMWMWMWMWMWMW          
  46.   MWMWMW            MWMW        
  47.   MW  MW            MW  MW      
  48.   MWMWMW            MWMWMWMW    
  49.   MW  MW              MW  MW    
  50.   MWMWMWMWMWMWMWMWMWMWMWMWMW    
  51.   MW  MW              MW  MW    
  52.   MWMWMW              MWMWMW    
  53.   MW  MW              MW  MW    
  54.   MWMWMW              MWMWMW    
  55.   MW  MW              MW  MW    
  56.   MWMWMWMWMWMWMWMWMWMWMWMWMW    
  57.   MW  MW              MW  MW    
  58.   MWMWMW              MWMWMW    
  59.   MW  MW              MW  MW    
  60.   MWMWMWMWMWMWMWMWMWMWMWMWMW
  61.  
  62. Obviously it's ugly, and not what the program was intended for.
  63. The smaller ASCII above, however, is acceptable. To show you when mr. HexD would be really helpfull, I've included a 16x16 icon converted with and without HexD. In my opinion, it does a good job making small text readable. See for yourself.
  64.  
  65. ASCII Image:
  66.  
  67.                 
  68.  |\  '(^ |,  |  
  69.  |\   |  | '.)  
  70.  '`  '^~ '   '  
  71.  . . .__ .   .  
  72.  |.) |,   \ `   
  73.  | | |__ .` \   
  74.                 
  75.  
  76. ASCII Image:
  77.  
  78.                                 
  79.  .__,  .____ .,    .,           
  80.  |(^\  '~)(^ |(.,  ||           
  81.  |(./    ||  |(^\  ||           
  82.  |(^\    ||  ||  '.)|           
  83.  |(./  ..)(. ||   ~)|           
  84.  '^~`  '^~^~ '`    '`           
  85.                                 
  86.  .,  . .____ .,    .,           
  87.  ||  | |(^^~ '\ , / `           
  88.  |(..) |(.,    '\ `             
  89.  |(^~) |(^`    ./ ,             
  90.  ||  | |(.__ ./ ` \ ,           
  91.  '`  ' '^~^~ '`    '`           
  92.                                 
  93.  
  94.  
  95. That's all you need to know to get started. 
  96.  
  97.  
  98. Tech notes: ( for those who want to know a little more)
  99.  
  100. The way I was able to accomplish the size increase was to have the program scan the data more closely. Let me explain. Normally, p2a converts based on a block grid. It stores a certain amount of binary picture data in each block. It passes over each block, converting as it goes, based on what's in the block. So if most of the '1's are on the left of the block, it prints out "|" In other words, it passes over the data like this: (These are just two blocks of data, not halves of a whole graphic file.
  101.  
  102. First,
  103.   _________   _________
  104.  |         | |         |
  105.  |  SCAN   | |         |
  106.  |         | |         |
  107.  `_________' `_________'
  108.                     ^ Block of data being converted into ascii fragment
  109. Then,
  110.   _________   _________
  111.  |         | |         |
  112.  |         | |   SCAN  |
  113.  |         | |         |
  114.  `_________' `_________'
  115.                                  ^ Block of data being converted into ascii fragment
  116.  
  117. Etc....it moves on to the next block.
  118. However, I realized one day that you could skip inbetween blocks, too, so that you get almost twice the resolution for the same amount of data. When you enable HexD, it scans like this:
  119.  
  120. First,
  121.   _________   _________
  122.  |         | |         |
  123.  |  SCAN   | |         |
  124.  |         | |         |
  125.  `_________' `_________'
  126.                     ^ Block of data being converted into ascii fragment
  127. Then,
  128.   _________   _________
  129.  |     :   | |   :     |
  130.  |     : SC A N  :     |
  131.  |     :   | |   :     |
  132.  `_________' `_________'
  133.                            ^ Pseudo block of data being converted into ascii fragment
  134. Then,
  135.   _________   _________
  136.  |         | |         |
  137.  |         | |   SCAN  |
  138.  |         | |         |
  139.  `_________' `_________'
  140.                                  ^ Block of data being converted into ascii fragment
  141.  
  142. So it converts the whole thing a half-a-block of data at a time. Not only that, but it works fairly well. It should do you good in a pinch. The only problem I saw was that it was going to be slow. But actually, it's very quick. This is partly due to the fact that p2a outputs the ascii as it figures it out. I haven't noticed any difference in speed between the two methods at all, but there probably is one. It's negligible.
  143.  
  144. -Ben Syverson
  145.